import thread
from time import sleep,ctime

loops=[40,20]
def loop(nloop,nsec,lock):
    print 'start loop',nloop,'at',ctime()
    sleep(nsec)
    print 'loop',loop,'done at',ctime()
    lock.release()
    
def main():
    print 'starting at:',ctime()
    locks=[]
    nloops=range(len(loops))
    
    for i in nloops:
        lock=thread.allocate_lock()
        lock.acquire()
        locks.append(lock)
        
    for i in nloops:
        thread.start_new_thread(loop, (i,loops[i],locks[i]))
        
    for i in nloops:
        while locks[i].locked():
            pass
        
    print 'all done at:',ctime()
    
if __name__=='__main__':
    main()